package com.york.subject.application.convert;

import com.york.subject.application.dto.SubjectCategoryDTO;
import com.york.subject.domain.entity.SubjectCategoryBO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * 拦截器，实现转换器功能，因为我们需要的是SubjectCategoryBO对象，而该模块使用SubjectCategoryDTO
 */
@Mapper
public interface SubjectCategoryDTOConverter {

    // 返回实现接口的实例
    SubjectCategoryDTOConverter INSTANCE = Mappers.getMapper(SubjectCategoryDTOConverter.class);

    SubjectCategoryBO convertBoToCategory(SubjectCategoryDTO subjectCategoryDTO);

    List<SubjectCategoryDTO> convertBoToCategoryDTOList(List<SubjectCategoryBO> subjectCategoryBOList);

    SubjectCategoryBO convertDtoToCategoryBO(SubjectCategoryDTO subjectCategoryDTO);

    SubjectCategoryDTO convertBoToCategoryDTO(SubjectCategoryBO bo);
}
